package com.nuumoblie.bluetoothtools.ble.db.entity;

import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.Index;
import androidx.room.PrimaryKey;

import java.io.Serializable;

@Entity(indices = {@Index(value = "manufacturer_id")},tableName = "simulate_product_type")
public class BleProductTypeEntity implements Serializable {

    @PrimaryKey(autoGenerate = true)
    private int _id;

    @ColumnInfo(name = "manufacturer_id")
    private int mManufacturerId;

    @ColumnInfo(name = "manufacturer_value")
    private String mManufacturerValue;

    @ColumnInfo(name = "is_include_tx_power_level")
    private boolean mIsIncludeTxPowerLevel;

    @ColumnInfo(name = "is_include_device_name")
    private boolean mIsIncludeDeviceName;

    @ColumnInfo(name = "tx_power_level")
    private int mTxPowerLevel;

    @ColumnInfo(name = "advertise_mode")
    private int mAdvertiseMode;

    @ColumnInfo(name = "connectable")
    private boolean mConnectable;

    @ColumnInfo(name = "time_out")
    private int mTimeout;

    public BleProductTypeEntity(){}

    public BleProductTypeEntity(int mManufacturerId, String mManufacturerValue, boolean mIsIncludeTxPowerLevel,
                                boolean mIsIncludeDeviceName, int mTxPowerLevel, int mAdvertiseMode, boolean mConnectable, int mTimeout) {
        this.mManufacturerId = mManufacturerId;
        this.mManufacturerValue = mManufacturerValue;
        this.mIsIncludeTxPowerLevel = mIsIncludeTxPowerLevel;
        this.mIsIncludeDeviceName = mIsIncludeDeviceName;
        this.mTxPowerLevel = mTxPowerLevel;
        this.mAdvertiseMode = mAdvertiseMode;
        this.mConnectable = mConnectable;
        this.mTimeout = mTimeout;
    }

    public int get_id() {
        return _id;
    }

    public void set_id(int _id) {
        this._id = _id;
    }

    public int getManufacturerId() {
        return mManufacturerId;
    }

    public void setManufacturerId(int mManufacturerId) {
        this.mManufacturerId = mManufacturerId;
    }

    public String getManufacturerValue() {
        return mManufacturerValue;
    }

    public void setManufacturerValue(String mManufacturerValue) {
        this.mManufacturerValue = mManufacturerValue;
    }

    public boolean isIsIncludeTxPowerLevel() {
        return mIsIncludeTxPowerLevel;
    }

    public void setIsIncludeTxPowerLevel(boolean mIsIncludeTxPowerLevel) {
        this.mIsIncludeTxPowerLevel = mIsIncludeTxPowerLevel;
    }

    public boolean isIsIncludeDeviceName() {
        return mIsIncludeDeviceName;
    }

    public void setIsIncludeDeviceName(boolean mIsIncludeDeviceName) {
        this.mIsIncludeDeviceName = mIsIncludeDeviceName;
    }

    public int getTxPowerLevel() {
        return mTxPowerLevel;
    }

    public void setTxPowerLevel(int mTxPowerLevel) {
        this.mTxPowerLevel = mTxPowerLevel;
    }

    public int getAdvertiseMode() {
        return mAdvertiseMode;
    }

    public void setAdvertiseMode(int mAdvertiseMode) {
        this.mAdvertiseMode = mAdvertiseMode;
    }

    public boolean isConnectable() {
        return mConnectable;
    }

    public void setConnectable(boolean mConnectable) {
        this.mConnectable = mConnectable;
    }

    public int getTimeout() {
        return mTimeout;
    }

    public void setTimeout(int mTimeout) {
        this.mTimeout = mTimeout;
    }
}
